package cn.iocoder.yudao.module.im.controller.admin.member.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - IM消息新增/修改 Request VO")
@Data
public class MemberMessageSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "22684")
    private Long id;

    @Schema(description = "分组ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32631")
    @NotNull(message = "分组ID不能为空")
    private Long groupId;

    @Schema(description = "发送人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5906")
    @NotNull(message = "发送人编号不能为空")
    private Long sendUserId;

    @Schema(description = "接收人编号", example = "21717")
    private Long receiveUserId;

    @Schema(description = "消息类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "消息类型不能为空")
    private Integer contentType;

    @Schema(description = "消息", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "消息不能为空")
    private String content;

    @Schema(description = "语音时长")
    private Integer voiceSec;

    @Schema(description = "图片宽度")
    private Integer imgWidth;

    @Schema(description = "图片高度")
    private Integer imgHeight;

    @Schema(description = "是否已读", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "是否已读不能为空")
    private Boolean readStatus;

}